package com.yulinlin.admin.modules.auth;

import com.yulinlin.admin.modules.sys.domain.SysDeptEntity;
import com.yulinlin.admin.modules.sys.domain.SysMenuEntity;
import com.yulinlin.admin.modules.sys.domain.SysRoleEntity;
import com.yulinlin.admin.modules.sys.domain.SysUserEntity;
import com.yulinlin.admin.modules.sys.domain.join.SysElementRelJoin;
import com.yulinlin.common.domain.vo.SuperVo;
import com.yulinlin.data.core.anno.JoinQuery;
import lombok.Data;

import java.util.List;

@Data
public class UserInfoVo  extends SuperVo {

    private String id;


    public UserInfoVo() {

    }

    public UserInfoVo(String id) {
        this.id = id;
    }

    //使用用户名，查询用户对象
    @JoinQuery(primary = "id",value = "id")
    private SysUserEntity sysUser;


    //查出用户对象后，使用部门id查出部门对象
    @JoinQuery(value = "sysUser.sysDeptId")
    private SysDeptEntity sysDept;


    //查出用户后，使用角色列表id查出角色列表对象
    @JoinQuery(value = "sysUser.sysRoleIds")
    private List<SysRoleEntity> roleList;


    //查出角色后，在角色对象后查出菜单对象
    @JoinQuery(value = "roleList.data")
    private List<SysMenuEntity> sysMenuList;

    //用户权限列表
    @JoinQuery(primary = "sysUserId",value = "id")
    private List<SysElementRelJoin> sysElementList;




}
